// 云函数入口文件
// 点餐任务队列
const cloud = require('wx-server-sdk')
const dayjs = require('dayjs')

cloud.init()

const db = cloud.database()

// 创建新的点餐
async function createTaskQueue (event) {
  // 创建新记录
  console.log(event)
  await db.collection('taskqueue').add({
    data: {
      nickName: event.nickName,
      date: dayjs(new Date()).format('YYYY-MM-DD'),
      createDate: new Date(),
      status: true,
      remark: event.remark
    }
  })
  // 删除已选表
  await db.collection('countData').where({ all: null }).remove()
  return true
}

// 开启、关闭点餐
async function switchTaskQueue (event) {
  console.log(event.status)
  return db.collection('taskqueue')
    .where({ date: dayjs(new Date()).format('YYYY-MM-DD') })
    .orderBy('createDate', 'desc')
    .limit(1)
    .update({
      data: {
        status: event.status,
        remark: event.remark
      },
    })
}

// 获取可用的点餐
async function getTaskQueue (event) {
  return db.collection('taskqueue')
    .where({ date: dayjs(new Date()).format('YYYY-MM-DD') })
    .orderBy('createDate', 'desc')
    .limit(1)
    .get()
}


// 云函数入口函数
exports.main = async (event, context) => {
  switch (event.action) {
    case 'create': {
      return createTaskQueue(event)
    }
    case 'switch': {
      return switchTaskQueue(event)
    }
    case 'get': {
      return getTaskQueue(event)
    }
    default: {
      return
    }
  }
}
